from pyproj import Transformer


def wgs84_to_cgcs2000(lon, lat):
    """
    将WGS84坐标转换为CGCS2000坐标
    参数:
        lon: 经度(WGS84)
        lat: 纬度(WGS84)
    返回:
        (经度, 纬度) CGCS2000坐标
    """
    # 定义WGS84和CGCS2000的EPSG代码
    wgs84 = "EPSG:4326"  # WGS84
    cgcs2000 = "EPSG:4490"  # CGCS2000

    # 创建转换器
    transformer = Transformer.from_crs(wgs84, cgcs2000)

    # 执行转换
    lon_cgcs, lat_cgcs = transformer.transform(lon, lat)

    return lon_cgcs, lat_cgcs


# 示例使用
# lon_wgs, lat_wgs = 116.404, 39.915  # 北京天安门WGS84坐标
# lon_cgcs, lat_cgcs = wgs84_to_cgcs2000(lon_wgs, lat_wgs)
# print(f"WGS84坐标: ({lon_wgs}, {lat_wgs})")
# print(f"CGCS2000坐标: ({lon_cgcs}, {lat_cgcs})")

lon_wgs, lat_wgs = 87.590351, 43.773866
lon_cgcs, lat_cgcs = wgs84_to_cgcs2000(lon_wgs, lat_wgs)
print(f"WGS84坐标: ({lon_wgs}, {lat_wgs})")
print(f"CGCS2000坐标: ({lon_cgcs}, {lat_cgcs})")

lon_wgs, lat_wgs = 87.519055, 43.163941
lon_cgcs, lat_cgcs = wgs84_to_cgcs2000(lon_wgs, lat_wgs)
print(f"WGS84坐标: ({lon_wgs}, {lat_wgs})")
print(f"CGCS2000坐标: ({lon_cgcs}, {lat_cgcs})")

lon_wgs, lat_wgs = 86.376022,42.320385
lon_cgcs, lat_cgcs = wgs84_to_cgcs2000(lon_wgs, lat_wgs)
print(f"WGS84坐标: ({lon_wgs}, {lat_wgs})")
print(f"CGCS2000坐标: ({lon_cgcs}, {lat_cgcs})")

lon_wgs, lat_wgs = 93.532924,42.818971
lon_cgcs, lat_cgcs = wgs84_to_cgcs2000(lon_wgs, lat_wgs)
print(f"WGS84坐标: ({lon_wgs}, {lat_wgs})")
print(f"CGCS2000坐标: ({lon_cgcs}, {lat_cgcs})")
